1. Field of the Invention
The invention relates generally to virtualized storage systems and more specifically relates to methods and apparatus to utilize cut-through cache memory management to reduce cache memory bandwidth utilization in writing to a mirrored virtual volume of a virtualized storage system.
2. Discussion of Related Art
Mirrored storage volumes are known to provide enhanced reliability for stored data. Redundant Array of Independent Disks (RAID) management level 1 is exemplary of well-known mirroring techniques. A mirrored volume stores identical copies of data on multiple physical storage devices (i.e., disk drives) such that failure of one of the duplicate storage devices does not lose data or render the storage volume inaccessible. A storage controller of the storage system typically hides the physical storage characteristics from a user (i.e., from attached host systems) such that the user perceives a standard storage volume and knows nothing of the physical mapping of the mirrored logical volume to multiple physical devices. A write request directed to the virtual volume is processed by the storage system by generating multiple physical write operations within the storage system to duplicate the data on the multiple storage devices that comprise the mirrored volume.
Virtualized storage systems extend the concepts of RAID to hide physical storage aspects for many types of volumes (whether the volume uses RAID management techniques or not). In such virtualized storage systems, the processing to duplicate mirrored data over a plurality of physical storage devices that comprise a mirrored virtual volume is totally performed by a control device (i.e., an appliance) coupled with the storage system or integral within the storage system. Some such controllers common in Fibre Channel environment (i.e., a Data Path Module or “DPM”) use a store-and-forward (SAF) process to first store data written to the virtual target device (i.e., directed to the mirrored virtual volume) into a local cache memory. The controllers then read back the data to forward the data that is replicated across two or more physical targets. Due to the nature of SAF techniques (i.e., write once; read back multiple times), the bandwidth of the controller available to the host is limited to ⅓, ¼, or ⅕ the cache memory bandwidth when the data is replicated across two, three or four physical targets, respectively. For example, assume a controller (i.e., a DPM) has a cache memory bandwidth rated at 1 GB/s. The SAF processing techniques limits data replication across two physical storage devices to 333 MB/s (a first access to cache to store the write data followed by two accesses to read the cached write data back for transmission to the two physical storage device that comprise a mirrored virtual volume).
Some prior techniques have attempted to improve the performance of the controller (e.g., a DPM) by using cache-less techniques in a Fibre Channel (FC) storage system. “Cache-less” cut-through mirroring techniques eliminate the need for cache memory (and hence the cache memory bandwidth utilization limitations). Such a cache-less cut-through simply takes the inbound write data and modifies the Fibre Channel frame header so that the frame is transformed and routed directly to the plurality of physical storage devices (i.e., physical FC target devices). Doing so makes it appear to the physical FC target devices that the source of the write data was from the “virtual initiator” of the DPM. This prior method provides a “near-wire rate” data replication rate across multiple physical target devices (e.g., near the full bandwidth of the exemplary controller's Fibre Channel subsystem). However, this prior solution requires hardware in the FC paths of the DPM that has the capability to replicate inbound frames and direct them to multiple physical FC target devices. Cache-less replication techniques such as this suffer from the fact that all physical FC target devices must be in a state ready to accept the write data. This makes the solution highly prone to deadlock and unstable replication operations. Write latency is increased since multiple targets must rendezvous at a common ready state (FCP_XRDY state) so that data frames may cut-through from the virtual initiator.
Thus it is an ongoing challenge to improve (i.e., reduce) cache memory bandwidth utilization in a virtualized storage system when processing write requests to a mirrored virtual volume.